#ifndef HUD_H_
#define HUD_H_

#include <string>
#include <boost/shared_ptr.hpp>

class Game;
class Button;
class TexturedEntity;
class FreeTypeFont;

class HUD
{
public:
    HUD(boost::shared_ptr<Game> scene);
    ~HUD(void);

    void prepare(float dt);
    void render(void);
    bool initialize(void);

    bool isPauseButtonPressed(void) const;
    void resetPauseButton(void);

private:
    boost::shared_ptr<Game> m_scene;
    boost::shared_ptr<FreeTypeFont> m_font;
    Button* m_pauseBtn;
    TexturedEntity* m_lifesIcon;

    std::string getRemainingTimeAsString(void) const;
    std::string getElapsedTimeAsString(void) const;
    int getRemainingSeconds(void) const;

};

#endif // HUD_H_
